1. Field of the Invention
The present invention relates generally to coordinating the operation of one or more instances of a program in a distributed file system. More particularly, the present invention relates a computer implemented method, data processing system, and computer program product to allow execution of an instance of a program based on availability of a file or operation of a business logic.
2. Description of the Related Art
In computing, a file system is a structure for storing and organizing computer files and the data they contain to make it easy to find and access the files. File systems may use a storage device such as a hard disk drive or CD-ROM and involve maintaining the physical location of the files, for example, as binary data encoded in magnetic domains on a magnetic disk. Alternatively, a file system may be a virtual file system. A virtual file system exists only as an access method for virtual data or for data over a network.
File systems are made of two types of data. The first type of data, which usually predominates, is user data. The content type of user data may be, for example, text, graphics, music, and computer instructions. The second type of data is file system metadata. File system metadata is all the data that is not the user's data. Metadata can inform a processing system of the statistics, permissions, structures, and state information of the files containing user data. A user is a person that operates, accesses, senses or otherwise makes use of a data processing system.
A distributed file system is a network of one or more servers that respond to client requests to read, write and otherwise process files. A client is a computer that makes such requests. An advantage of a distributed file system is that a file resident on a server may be shared with several clients, and the server may restrict and coordinate writes to such a file so that only one user may change a file at a time.
Many distributed file systems implement security to limit access to files and other resources. Such systems may exclude a user from accessing a file or other resources. A restricted distributed network is a network that provides file access to a user according to preset rules based on the user's identity. An initial step to excluding access is establishing a user's identity. Kerberos is an example of an authentication mechanism that provides verified identities for users, hosts, and processes. The Kerberos system provides infrastructure for authentication through a key distribution center. Each principal (one of the three mentioned) shares a secret encryption key with a key distribution center. A properly authenticated user may obtain a ticket granting ticket (TGT) from the key distribution center.
A user having a ticket granting ticket may request a service ticket. That is, the user may request a pairing of the user identity with a service, such as an application invocation. Further mechanisms may determine if the user is authorized to access the service or file.
Several people or administrators may administer a modem distributed file system. The administrators maintain, restore, and upgrade the network's hardware and software. Programs, such as client-server programs and web services, may be licensed to operate under certain limitations within a distributed file system. The licenses may be limited to operate at a certain version level, or on a limited number of data processing systems on the distributed files system of an organization. The licensee of the program may have agreed to a limit of the number of instances. It may be difficult to determine which among a plurality of platforms is executing an instance of the program. A platform is an operating system executing on a processor of a distributed file system or other network. Because a network may have heterogeneous platforms, it may be complicated to account for instances across a network. In other words, one platform of the network may operate a Linux® operating system, while another platform of the network may operate an IBM AIX® operating system. Linux®) is a trademark of Linus Torvalds in the United States and several other countries. AIX is a registered trademark of International Business Machines Corporation.
Thus, it would be beneficial to coordinate automatically, between and within processors of a network, an indication that an instance is running. Moreover, it would also be helpful to focus requests of further instances to a first instance or any later added instance that operates as a proxy for the first instance.